package prehilife;

import java.util.ArrayList;
import java.util.Vector;

public abstract class AbstractWorld {

    public ArrayList<Creature> [][] myGameBoard;
    public GUI theGUI;
    

    public AbstractWorld() {
    }
    public void getGUI(GUI theGUI){
        this.theGUI=theGUI;
    }
    public abstract Creature getNextCreature();

    public void display() {
        theGUI.drawNextStep();
    }

    public void createCreatures() {
        throw new UnsupportedOperationException();
    }

    public void addCreature() {
        throw new UnsupportedOperationException();
    }

    public void deleteCreature(Creature cr) {
        throw new UnsupportedOperationException();
    }

    public abstract void moveCreature(Creature cr);

    public abstract void displayCaseText();

    public abstract void displayCaseImage(int x, int y);

    public boolean isFree() {
        throw new UnsupportedOperationException();
    }

    public void setUserInterface() {
        throw new UnsupportedOperationException();
    }

    public abstract boolean finished();
    public void createTable(int sizeX, int sizeY){
        myGameBoard=new ArrayList[sizeX][sizeY];
        for (int i = 0; i < myGameBoard.length; i++) {
            for (int j = 0; j < myGameBoard[i].length; j++) {
                myGameBoard[i][j]=new ArrayList();
            }     
        }
    }
    public int getSizeX() {
        return myGameBoard.length;
    }
    public int getSizeY() {
        return myGameBoard[0].length;
    }
}